package com.hmall.common.config;

import com.hmall.common.interceptors.UserInfoInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;





/**
 * mvc配置类 当DispatcherServlet类存在时这个配置类才会生效

 * 为什么要这么做呢？ 因为网关模块也依赖了common模块，而网关模块底层gateway是没有走spring mvc的，
 * 所以这个配置类在网关模块中是不需要的，所以需要加上这个注解

 * 不加这个注解的话，在网关模块启动的时候会报错，因为配置不生效
 */
@Configuration
@ConditionalOnClass(DispatcherServlet.class)
public class MvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new UserInfoInterceptor());
    }
}